The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Interactive whiteboard (IWB) appliances allow users to share electronic information, such as documents and files, and collaborate in real time with other IWBs, client devices, mobile applications and third-party solutions. Some prominent features of IWBs include annotation, file sharing and syncing, OCR, as well as local functionality. For example, users in different geographical locations may view, discuss, and annotate electronic documents in real-time. IWBs may also be configured with third-party videoconferencing solutions to further facilitation real-time collaboration. Third-party videoconferencing solutions are typically implemented on IWBs using so called “shallow integration,” i.e., as separate processes on top of the whiteboard that are launched via the graphical user interface menu of the IWB.
This type of “shallow integration” has some undesirable characteristics, including a limited ability to integrate IWB functionality into the third-party videoconferencing solutions, and the difficulty and added complexity in supporting and managing a large number of third-party videoconferencing solutions. For example, the IWB must potentially manage a large number of third-party videoconferencing solutions, which increases the amount of computational resources required and can clutter the graphical user interface with controls for each third-party videoconferencing solution. In addition, the look and feel of the graphical user interfaces of the third-party videoconferencing solutions are different from each other, and from the look and feel of the native graphical user interface of the IWB. Also, “shallow integration” cannot even be used to manage enterprise client applications on top of mobile applications because of the complexity and user interface (UI) clutter created by enterprise client applications. Furthermore, users cannot communicate with each other via different videoconferencing solutions and user authentication must be separately performed by each videoconferencing solution.